home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
081
/
echodoc.arc
/
ECHOMAIL.DOC
Wrap
Text File
|
1987-07-08
|
12KB
|
347 lines
EchoMail Technical Reference
----------------------------
by Wynn Wagner III
15-June-1987
ECHOMAIL SPECS AND STUFF
------------------------
EchoMail is a method of conferencing that uses the FidoNet<tm> protocol
to broadcast messages.
The FidoNet<tm> protocol is determined by the International FidoNet
Association ("IFNA"). That protocol involves the physical transmission
of files one system to another.
EchoMail itself is not affiliated with IFNA or any other association or
organization. It is a "grass-roots" concoction of fiercely independant
system operators.
Because there is no association or organization, the EchoMail system
relies on the goodwill of the sysops who use the system. That means
these "specs" and "rules" are totally voluntary. There is no means
for enforcement.
The word "SPECS" is probably out of place here. You can consider this
more like "Here's the way Opus does EchoMail."
When you see the word "message," it means a message prepared for
transmission from one system to another. The structure and content of
a message as it lies on a local system is of no concern to anybody other
than the system's software and sysop.
IN-TRANSIT MESSAGE STRUCTURE
----------------------------
IN GENERAL
----------
All in-transit messages have two parts: header and body.
The header is defined by FidoNet<tm> specifications.
Those specifications describe the body of a message as being a
null-terminated character array. It could be that you will find
a 10k message that looks like a single line of text! The
character 0x8D is treated as a "soft" return character so that
messages can be arranged at display-time to fit the user's
display. A regular return character (0x0D) means what is says:
transmit a carraige return.
For more information about the FidoNet<tm> protocol or the
message header, contact 220/1 in the matrix.
REQUIRED ECHOMAIL EXTENSIONS
----------------------------
EchoMail adds material at the beginning and the end of the
message body.
There are four items which are absolutely required. You can
expect echomail processors to consider a problem with these four
items to be an error condition.
AREA STATEMENT
--------------
When an echomail message is prepared for transmission, one
piece of information is added: the AREA statement. This
statement normally does not appear in the message when it
resides in the local message area.
The procedure is normally called "Scanning."
An AREA statement looks like this:
AREA:areaname
The "A" in "AREA" must be the zeroth character of the
message body... the first character following the
message header.
The word AREA is followed by a colon and the name of the
area.
An areaname can be as long as 60 characters. It is CASE
SENSITIVE and should always be uppercase. The area name
can contain alphanumeric characters as well as the
underscore character.
The AREA statement always ends with a hard return.
Space characters are not part of an AREA statement.
(Utilities which handle inbound echomail should be
somewhat resiliant to messages containing space
characters after the colon.)
EXAMPLES: AREA:SYSOP
AREA:THE_ECHO_AREA_FOR_LIBERTARIANS
TEARLINE
--------
A tearline is a gadget that separates the text of an
echomail message from the echomail information appended
to the message.
It consists of a hard return, followed by three dashes,
optionally followed by an "scan program identifier.
The sequence ends with a hard return.
EXAMPLE 1: - - - ... ascii
0d 2d 2d 2d 0d ... hex
EXAMPLE 2: --- MyScanProg v1 ... ascii
ORIGIN
------
The origin line in a message shows the name of the
system where the message was created. Normally it
includes the system name and its net/node number.
It consists of a hard return, followed by a space, and
asterisk, another space, the word "Origin", a colon,
the originating system's name, and a hard return.
EXAMPLE: * Origin: Your Board Name
That sequence begins like this:
0d 20 2a 20 4f
The word "Origin" is case SENSITIVE.
Spacing is not optional.
SEEN-BY
-------
The seen-by section is a sequence of one or more items
that have this form:
SEEN-BY: net1/node1 [{net2/}node2 .. {netn/}noden]
The word "SEEN-BY" always follows a hard return (<cr> or
<cr/lf>). That is followed by colon and a space. Then
comes a list of matrix addresses. Seen-by lines always
end with a hard return and should be 80 characters or
shorter.
An echomail message can contain more than one seen-by line.
The seen-by area is always the last part of a message.
Except for the first address, the NET is optional. It
is required only when one address is in a net that is
different from the address immediately in front of it.
These two lines have the same meaning:
SEEN-BY: 124/102 103 133/1
SEEN-BY: 124/102 124/103 133/1
The first example is preferred because it is shorter. The
NET for node 103 is inferred to be NET 124.
None of these items is optional. All EchoMail messages must
contain an AREA statement, a tearline, and origin line, and a
sequence of 1 or more seen-by lines.
Only the origination station is allowed to touch the tearline
and the origin line. Some echomail processing methods depend on
the integrity of those items. After a message leaves the
originating node, only the seen-by line can be altered.
Some echomail processors use a <cr/lf> combination as a hard
return. In other words, the hard return can appear as "0d" or
as "0d 0a".
RESERVED AREA NAMES
-------------------
By convention, two area names are reserved...
PRIVATE ... the message should be sent to the area
where the system normally keeps private
e-mail.
GENERAL ... the message is for the general (local)
message area.
One possible use for the PRIVATE "area" is when a net host needs
to send messages to everyone in your net. The host could use
echomail programs to handle this "bombing run."
In practice, you may lead an entire life without ever seeing
a message for PRIVATE or GENERAL.
MISCELLANEOUS
-------------
CONTROL-A LINES
---------------
Material found after a CONTROL-A (hex 01) is considered a
control type sequence. It is not part of the message itself.
The general form of a CONTROL-A line looks like this:
^aAAAAAAAA??????????????????<cr>
That's a control-a, followed by one or more uppercase letters,
followed by some other information.
All CONTROL-A lines end with a hard return character (<cr> or
<cr/lf>).
The CONTROL-A character (hex 01) signals the beginning of a
sequence. The return character (hex 0d) signals its end.
Following is an example of a ^a line's usage....
ECHOMAIL IDENTIFICATION
-----------------------
Opus-Cbcs 1.00 puts an identification behind a CONTROL-A in
every echomail message processed internally.
Here is the form of this identification:
^aEID:xxxx xxxxxxxx
That's a CONTROL-A followed by "EID:" and two hexidecimal
numbers. The first number is a 16-bit CRC of the originating
system's "*Origin" line. The second number is an Ms-DOS style
time/date record.
This item can be used to establish a unique identifier for every
message in the system. Opus uses it as part of the system's
internal "Kill Dupe" feature.
CONTENT INTEGRITY
-----------------
Echomail processing programs should not change the contents of
a message.
The exceptions to that are
* addition of new SEEN-BY items
* addition of items hidden behind a "^a"
The content of the message body (ie the message itself) should
not be changed for any reason.
SAMPLE
------
Here is a dump of a typical file ready for transmission. It contains
a single message in the echomail area "WALRUS."
This message was created using the Opus LORE (Line-oriented editor).
It was "scanned" and put into the OUT file by OOMP (Official Opus
Message Publisher... an internal scan feature in Opus-Cbcs v1.00).
0: 6c 00 66 00 c3 07 06 00 1b 00 09 00 06 00 18 00 l.f..... ........
10: 00 00 02 00 7c 00 7c 00 05 00 00 00 00 00 00 00 ....|.|. ........
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
30: 00 00 00 00 00 00 00 00 00 00 02 00 6c 00 66 00 ........ ....l.f.
40: 7c 00 7c 00 00 00 00 00 32 37 20 4a 75 6e 20 38 |.|..... 27 Jun 8
50: 37 20 30 39 3a 30 35 3a 33 33 00 4e 6f 62 6f 64 7 09:05: 33.Nobod
60: 79 00 57 79 6e 6e 20 57 61 67 6e 65 72 00 2e 00 y.Wynn W agner...
70: 41 52 45 41 3a 57 41 4c 52 55 53 0d 0a 01 45 49 AREA:WAL RUS...EI
80: 44 3a 37 31 30 30 20 30 65 64 62 34 38 62 30 0d D:7100 0 edb48b0.
90: 8d 0a 54 68 69 73 20 69 73 20 61 20 74 65 73 74 ..This i s a test
a0: 20 6d 65 73 73 61 67 65 2e 0d 0a 0d 0a 0d 0a 2d message .......-
b0: 2d 2d 0d 0a 20 2a 20 4f 72 69 67 69 6e 3a 20 54 --.. * O rigin: T
c0: 68 65 20 50 72 69 76 61 74 65 20 4f 61 6b 20 4c he Priva te Oak L
d0: 61 77 6e 20 45 78 63 68 61 6e 67 65 20 28 4f 70 awn Exch ange (Op
e0: 75 73 20 31 3a 31 32 34 2f 31 30 38 29 0d 0a 53 us 1:124 /108)..S
f0: 45 45 4e 2d 42 59 3a 20 31 32 34 2f 31 30 32 20 EEN-BY: 124/102
100: 31 30 38 20 31 31 31 20 32 31 30 20 31 33 32 2f 108 111 210 132/
110: 31 30 31 0d 0a 0d 0a 00 00 00 101..... ..
###